Field of the Invention
This invention relates generally to the field of computer processors. More particularly, the invention relates to an apparatus and method for efficient texture compression.
Description of the Related Art
Texture mapping is a well known technique implemented in graphics pipelines to apply texture to the surface of a shape or polygon. The texture data is typically stored in a matrix of N×N “texels” (sometimes also referred to as “texture elements” or “texture pixels”). Thus, in the same manner that images are represented by an array of pixels textures are represented by arrays of texels. When performing texture mapping, logic within a graphics processing unit (GPU) maps the texels to appropriate pixels in the output image.
Texture compression techniques are implemented to reduce the amount of memory consumed by texture data. Current texture compression methods do not treat the texture image as a function of its coordinates that can be numerically approximated. Instead, these techniques use algorithmic methods to identify dominant colors and code color gradients between block texels. Compression is usually algorithmically intensive and is applied out of band and/or off-line. Decompression uses multiple steps and often involves temporal and/or spatial dependencies between neighboring texels. These factors drive increased memory/cache size and bandwidth requirements and limited suitability for massively parallel implementations.